package com.future.util;

import java.util.List;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.future.model.Menu;

/**
 * 说明：创建菜单
 * @author wrb
 * 2019年11月4日下午5:15:58
 */
public class CreateMenuJson {
	
	/**
	 * 说明：
	 * @author:wrb
	 * 2019年11月4日下午5:21:02
	 * @param list
	 * @return
	 * String
	 */
	public static String createMenu(List<Menu> list){
		JSONArray rootArr = new JSONArray();
		/*遍历菜单集合*/
		for(Menu m:list){
			if(m.getParentId()==0||m.getParentId()==null){
				JSONObject ro = createBranch(list,m);
				rootArr.add(ro);
			}
		}
		return rootArr.toJSONString();
	}

	private static JSONObject createBranch(List<Menu> list, Menu m) {
		//把父类的菜单转换成字符串
		String ps = JSON.toJSONString(m);
		//转换成jsonObject
		JSONObject jo = JSON.parseObject(ps);
		//声明children
		JSONArray co = new JSONArray();
		// 遍历list
		for(Menu menu:list){
			//判断菜单m是否还有子菜单
			if(menu.getParentId()!=null&&m.getId()!=0&&m.getId()==menu.getParentId()){
				//createBranch(list,menu);
				co.add(menu);
			}
		}
		jo.put("children", co);
		return jo;
	}
	
}
